home *** CD-ROM | disk | FTP | other *** search
/ Wonky Flux Batch 2019 02 / Wonky_Flux_Batch_2019-02.zip / Wonky Flux Batch 2019-02 / 105 - PROSEL - 3.3.5 S2.B.dsk / I.P.PLUS.bas < prev    next >
BASIC Source File  |  2019-02-17  |  5KB  |  129 lines

  1. 10  REM INSTALL.PROSEL for ][+
  2. 20  IF  PEEK(176) >30  THEN  STOP 
  3. 30  PRINT  CHR$(4)"BLOAD/FLOPPY/COMMANDS/COPY,TCMD,A$4000": CALL 4 *4096
  4. 40  LOMEM: 6 *4096:N = 51: DIM DT$(N),DL$(N),DF$(N)
  5. 50  PRINT  CHR$(12): HOME 
  6. 60 PF$ = "/FLOPPY/":CO$ =  CHR$(4) +"COPY" +PF$:CE$ =  CHR$(4) +"COPY/EXTRAS/"
  7. 70  PRINT  TAB( 6)"PROSEL INSTALLATION PROGRAM": PRINT 
  8. 80  PRINT : PRINT "Please give the volume name of the"
  9. 90  PRINT "volume that is to receive PROSEL.  Just"
  10. 100  PRINT "press RETURN to accept the name shown:": PRINT 
  11. 110 DP$ = "/HARD1/"
  12. 120  PRINT DP$;: FOR I = 1 TO  LEN(DP$): PRINT  CHR$(8);: NEXT 
  13. 130  INPUT "";NW$: IF NW$ < >""  THEN DP$ = NW$
  14. 140  IF  LEFT$(DP$,1) < >"/"  THEN DP$ = "/" +DP$
  15. 150  IF  RIGHT$(DP$,1) < >"/"  THEN DP$ = DP$ +"/"
  16. 160  ONERR  GOTO 1230
  17. 170  PRINT  CHR$(4)"PREFIX"DP$
  18. 180  POKE 216,0
  19. 190  PRINT : PRINT "Install 40, 80 column or Videoterm"
  20. 200  INPUT "version? (40/80/VT):";V$
  21. 210  IF V$ < >"40"  AND V$ < >"80"  AND V$ < >"VT"  AND V$ < >"vt"  THEN 190
  22. 220  GOSUB 740: REM Read destination directory
  23. 230  IF   NOT SY  THEN 320
  24. 240 SY$ = DF$(SY)
  25. 250  PRINT  CHR$(4)"BSAVE YYYYYYYY,A$2000,L10"
  26. 260  PRINT  CHR$(4)"UNLOCK"SY$
  27. 270  IF BA >0  THEN  PRINT  CHR$(4)"UNLOCK BASIC.SYSTEM"
  28. 280  PRINT  CHR$(4)"COPY"SY$",XXXXXXXX"
  29. 290  PRINT  CHR$(4)"DELETE"SY$
  30. 300  PRINT  CHR$(4)"DELETE YYYYYYYY"
  31. 310  IF SY$ = "BASIC.SYSTEM    "  THEN SY = 0: PRINT  CHR$(4)"DELETE XXXXXXXX"
  32. 320  PRINT "Installing PROSEL"
  33. 330  IF PD  THEN 350
  34. 340  PRINT CO$"PRODOS,PRODOS"
  35. 350  PRINT CO$"PROSEL.SYSTEM,PROSEL.SYSTEM"
  36. 360  PRINT CO$"PROSEL."V$",PROSEL"
  37. 370  PRINT "Copying BASIC.SYSTEM"
  38. 380  PRINT CO$"BASIC.SYSTEM,BASIC.SYSTEM"
  39. 390  PRINT  CHR$(4)"CREATE UTIL"
  40. 400  PRINT  CHR$(4)"PREFIX UTIL"
  41. 410  PRINT "Installing disk utilities"
  42. 420  PRINT CO$"RECOVER,RECOVER"
  43. 430  PRINT CO$"COPY,COPY"
  44. 440  PRINT CO$"BLOCK.WARDEN,BLOCK.WARDEN"
  45. 450  PRINT CO$"INFO.DESK,INFO.DESK"
  46. 460  PRINT CO$"FIND.FILE,FIND.FILE"
  47. 470  PRINT CO$"UNI.FORMAT,UNI.FORMAT"
  48. 480  PRINT : PRINT "Please insert the disk /EXTRAS"
  49. 490  PRINT "and hit a key."
  50. 500  GET A$: PRINT 
  51. 510  ONERR  GOTO 480
  52. 520  PRINT CE$"BACKUP.PLUS,BACKUP"
  53. 530  PRINT CE$"RESTORE.PLUS,RESTORE"
  54. 540  PRINT CE$"CAT.DOCTOR.VT,CAT.DOCTOR"
  55. 550  PRINT CE$"PROSEL.ED.VT,PROSEL.ED"
  56. 560  PRINT CE$"MR.FIXIT,MR.FIXIT"
  57. 570  PRINT CE$"SCAVENGE,SCAVENGE"
  58. 580  PRINT CE$"SET.DATE,SET.DATE"
  59. 590  PRINT CE$"PASSWORD,PASSWORD"
  60. 600  PRINT CE$"PROSEL.CYCLER,PROSEL.CYCLER"
  61. 610  POKE 216,0
  62. 620  FOR I = 48946 TO 48946 + PEEK(48945)
  63. 630  FOR J = 5 TO 7
  64. 640  IF  INT( PEEK(I)/16) < >J  THEN 680
  65. 650  POKE 8192,76: POKE 8193,0: POKE 8194,J +12 *16
  66. 660  PRINT  CHR$(4)"CREATE BOOT.S";J;",TSYS"
  67. 670  PRINT  CHR$(4)"BSAVE BOOT.S";J;",TSYS,A$2000,L3"
  68. 680  NEXT J,I
  69. 690  PRINT  CHR$(4)"PREFIX"DP$
  70. 700  IF SY  THEN  PRINT  CHR$(4)"RENAME XXXXXXXX,"SY$
  71. 710  IF DL$(SY) = "*"  THEN  PRINT  CHR$(4)"LOCK";SY$
  72. 720  PRINT  CHR$(4)"-PROSEL.SYSTEM"
  73. 730  END 
  74. 740  REM Read destination directory
  75. 750  POKE 48655,0
  76. 760  ONERR  GOTO 1250
  77. 770  PRINT  CHR$(4)"OPEN"DP$",TDIR"
  78. 780  PRINT  CHR$(4)"READ"DP$
  79. 790  INPUT A$,A$,A$
  80. 800 I = 0: ONERR  GOTO 940
  81. 810  INPUT A$: IF   NOT  LEN(A$)  THEN 950
  82. 820 I = I +1:A$ =  LEFT$(A$,20): IF I >N  THEN 1250
  83. 830 DT$(I) =  RIGHT$(A$,3):DL$(I) =  LEFT$(A$,1):DF$(I) =  MID$ (A$,2,16)
  84. 840  IF DF$(I) = "PROSEL.SYSTEM   "  THEN 980
  85. 850  IF DF$(I) = "PROSEL          "  THEN 980
  86. 860  IF DF$(I) = "XXXXXXXX        "  OR DF$(I) = "YYYYYYYY        "  THEN 1090
  87. 870  IF (SY >0)  OR (DT$(I) < >"SYS")  THEN 900
  88. 880  FOR J = 2 TO 16 -7: IF  MID$ (DF$(I),J,7) = ".SYSTEM"  THEN SY = I
  89. 890  NEXT J
  90. 900  IF DF$(I) = "BASIC.SYSTEM    "  THEN BA = 1
  91. 910  IF DF$(I) = "PRODOS          "  THEN PD = 1
  92. 920  IF DF$(I) = "UTIL            "  THEN  PRINT  CHR$(4)"UNLOCK"DP$"UTIL": PRINT  CHR$(4)"RENAME"DP$"UTIL,"DP$"UTILXXX"
  93. 930  GOTO 810
  94. 940  CALL 62248: ONERR  GOTO 1250
  95. 950 DN = I: PRINT  CHR$(4)"CLOSE"DP$
  96. 960  POKE 216,0: IF DN >N -5  THEN 1160
  97. 970  RETURN 
  98. 980  GOSUB 950: HOME 
  99. 990  PRINT : PRINT "PROSEL already exists on ";DP$
  100. 1000  PRINT : PRINT "You should either delete all PROSEL"
  101. 1010  PRINT "related files on ";DP$;" and"
  102. 1020  PRINT "run this program again, or you should"
  103. 1030  PRINT "run INSTALL.REVISN instead.  The"
  104. 1040  PRINT "INSTALL.REVISN program just modifies"
  105. 1050  PRINT "the PROSEL file and retains the present"
  106. 1060  PRINT "application specifications.  It does"
  107. 1070  PRINT "not copy any other files."
  108. 1080  GOTO 1280
  109. 1090  GOSUB 950: HOME 
  110. 1100  PRINT "This program creates scratch files"
  111. 1110  PRINT "XXXXXXXX and YYYYYYYY.  One of these"
  112. 1120  PRINT "names is now on your ";DP$
  113. 1130  PRINT "directory.  You must rename it and"
  114. 1140  PRINT "run this program again."
  115. 1150  GOTO 1280
  116. 1160  HOME 
  117. 1170  PRINT "The directory of ";DP$
  118. 1180  PRINT "is too full for operation of the"
  119. 1190  PRINT "installation program.  You must get"
  120. 1200  PRINT "rid of some files on the main directory"
  121. 1210  PRINT "and rerun this program."
  122. 1220  GOTO 1280
  123. 1230  HOME 
  124. 1240  PRINT "Volume ";DP$;" not found.": GOTO 1280
  125. 1250  POKE 49044,0: PRINT  CHR$(4)"CLOSE"
  126. 1260  POKE 640,173: POKE 641,15: POKE 642,190: POKE 643,76: POKE 644,12: POKE 645,190
  127. 1270  IF  PEEK(48655)  THEN  CALL 640
  128. 1280  PRINT : PRINT "INSTALLATION ABORTED"
  129. 1290  NEW : END